Data visualisation tool

ABSTRACT

A rapidly configurable data visualisation tool for enabling a user to carry out a desired analysis function to identify trends within stored data sets is described. The tool comprises: a very large database having a plurality of base model database tables, each base model table being configured to store predetermined data variables relating to a previously implemented complex function and having one or more predetermined base analysis fields associated with each table; a configuration module arranged to present to the user a plurality of the predetermined base analysis fields for user selection to configure the desired analysis function on the data sets; and an analysis module for reading out the data stored in the base model tables in the selected base analysis fields in accordance with the desired analysis function and conducting further processing on the data to create a base analysis result comprising other composite selected base analysis fields in accordance with the desired analysis function.

FIELD OF THE INVENTION

This invention relates to a data visualisation tool, and in particular,but not exclusively, the invention relates to a data visualisation toolwhich is used as an analytic system which is suitable for analysingmarketing campaign data.

BACKGROUND TO THE INVENTION

In modern marketing, powerful analytic systems are used by marketers inorder to extract data from a database that will aid them with theirmarketing campaigns. There are a whole host of different types ofmarketing campaigns that they may wish to conduct, some of the mostcommon examples including: up-sell campaigns, in which marketers try toinfluence customers to purchase a more expensive model or service from arange of products that they are considering; retention campaigns inwhich marketers target their existing customers and give them incentivesto remain loyal to a company; and new-client campaigns, in whichmarketers try to identify and win new customers. Clearly, these threetypes of campaign are very different in terms of the people who arebeing targeted, and the objectives to be achieved. This means that themarketers need to obtain relevant data that specifically relates totheir target group of people, or market segment, so that trends in thedata can be identified. This will allow for the marketing campaign to betailored accordingly.

In particular, these types of marketing campaign relate to verticalmarkets, or simply ‘verticals’, which are groups of similar businessesor customers who operate in a particular niche area.

There is therefore a requirement for an analytic system that is capableof applying user-definable selections to a very large database definedas one containing the equivalent of at least one hundred thousand rowsof data, and typically one which has the equivalent of at least1,000,000 row entries relating to e-mail marketing campaign resultsinformation which is updated row by row. The user-definable selectionsneed to be able to return useful statistics that relate only to thegroup of people that is being targeted by the current campaign. Thecampaign, which is directed to a large selection of people and which isdetermined through an intelligent process according to a series ofobjectives is known as a “complex function”. As the database contains somany rows of data, and as the data is updated regularly, extracting therelevant data accurately and efficiently is a complex and demandingtechnical task. Furthermore, there may be a large number of variablesthat contribute to a given selection, and so setting the selection upcorrectly can be an extremely complex process.

At present, there are known systems which are able to analyse data froma database in the way described above, and which will return resultspertaining to a selected subset of the data to a user through a datavisualisation tool. The tool will highlight any trends within the subsetof data to the user, which they can use for their marketing purposes.

However, there are a plurality of barriers that stand in the way ofsmall companies who may wish to use an analytic system to aid them withtheir marketing campaigns. The first barrier is the high cost ofpurchasing the software tool in the first place; ranging from around GBP100,000 to over GBP 1,000,000, a cost which is prohibitive for manysmall enterprises. Additionally, once the software tool has beenprocured, the database needs to be loaded with useful data to analyse,which may not be readily available. A final barrier is the problemoutlined above; once a software tool has been purchased, setting it upcorrectly for the types of campaign that the company wishes to conductis a highly complex task that can take a considerable amount of time; abasic setup can take around a month, and more complex projects can lastover a year. At a typical cost of £1000 per day, this represents aconsiderable added expense on top of the initial cost of purchasing thesoftware tool.

The first two of these problems have been mitigated in thestate-of-the-art by providing the software tool on a “Software as aService” (SaaS) platform, meaning that the software and its associateddatabase are hosted on a third party server, and the user accesses themover a network, generally the internet. SaaS is therefore a form of“cloud computing”, in which computing resources are accessed and usedover a network. The database is pre-populated with data, which mayoriginate from the host's email marketing system, so that the user isnot required to find their own data. The user then only needs to pay alicence fee, rather than purchase the software and the hardware requiredto run it on.

However, in the SaaS arrangements that are currently known in the art,the user is still required to configure the software in the same way asbefore, which means that the second barrier, namely the high cost ofconfiguring the analytic system, is still an issue. At present, the twooptions that are open to a company wishing to use these services are totrain internal staff to configure the software manually and thenallocate time to the task, or alternatively to employ the services of athird-party consultant to manually configure the software tool for them.Both of these options have a considerable cost associated with them andare prone to human error, so therefore are not ideal solutions.

An additional technical problem exists with the current systems in that,because the user has selected a subset of data to perform their analysison, it is possible that they have missed some relevant data if theparameters for defining the subset are too narrow. Therefore, if a trendexists over two different data sets, this would be missed by the user intheir manual configuration of the software tool.

It is desired to overcome or substantially reduce at least some of theabove described problems with analytic systems which currently form thestate of the art.

SUMMARY OF THE INVENTION

It is one object of the present invention to provide an improved datavisualisation tool for analytic systems for use in marketing, whichovercomes or alleviates the aforementioned disadvantages known in theprior art.

According to one aspect of the present invention there is provided arapidly configurable data visualisation tool for enabling a user tocarry out a desired analysis function to identify trends within storeddata sets, the tool comprising: a very large database having a pluralityof base model database tables, each base model table being configured tostore predetermined data variables relating to a previously implementedcomplex function and having one or more predetermined base analysisfields associated with each table; a configuration module arranged topresent to the user a plurality of the predetermined base analysisfields for user selection to configure the desired analysis function onthe data sets; and an analysis module for reading out the data stored inthe base model tables in the selected base analysis fields in accordancewith the desired analysis function and conducting further processing onthe data to create a base analysis result comprising other compositeselected base analysis fields in accordance with the desired analysisfunction.

Preferably the other composite analysis fields are predetermined andstored in the analysis module. Also the previously implemented complexfunction may comprise a messaging marketing campaign, such as an e-mailmarketing campaign or an SMS message marketing campaign. Furthermore,the system may further comprise an email system for providing themessaging marketing campaign data variables.

The base model tables may comprise a Campaign table storing parametersrelating to the email marketing campaign, a Member table storingparameters relating to the members or customers targeted in the emailmarketing campaign, a CampaignMember table storing parameters relatingto the messages sent to a member or customer in the email marketingcampaign, a Response table storing parameters relating to the customerresponses to the received email, and/or a Bounce table storingparameters relating non-delivery of emails during the email marketingcampaign.

The data visualisation tool may be hosted by a central server and isaccessible to a plurality of remote user computers via a wide areacommunications network.

The database may comprise a set of averaged base model analysis resultsand the analysis module may be arranged to update the set of averagedbase model results and to use the averaged base model results incarrying out the desired data analysis function.

The analysis module may be arranged to carry out statistical analysisusing the analysis field data to provide the base analysis result.

The tool may further comprise a plurality of predetermined template datatables stored within the database, each template data table beingassociated with a specific sector of operation and having one or morepredetermined template analysis fields. In this embodiment, the user mayhave the option to select template analysis fields without selecting anybase analysis fields, to define the desired analysis function.

In this case the configuration module can be arranged to enable a remoteuser to select one of the plurality of predetermined template datatables relating to the desired analysis specific to a selected sector,to upload sector specific data from the remote user in a formatdetermined by the selected template data table and to populate thecorresponding template data table with the uploaded sector data.

The configuration module may be arranged to enable the remote user toselect one or more of the template analysis fields of the selectedtemplate data table to provide the desired analysis.

The analysis module may comprise a template analysis module for readingout the data stored in the selected template analysis fields of thetemplate data tables in accordance with the desired analysis functionand conducting further processing on the data to create a templateanalysis result comprising other composite selected template analysisfields in accordance with the desired analysis function.

The template analysis module can be arranged to receive the baseanalysis result from the analysis module and use this to create thetemplate analysis result.

The template analysis module may be arranged to create the templateanalysis result by carrying out statistical analysis on the templateanalysis fields and the base analysis result.

The template analysis module can be arranged to carry out analysis toidentify trends between the sector data and the previously implementedcomplex function data.

The database may comprise a set of averaged sector template analysisresults and the template analysis module may be arranged to use the setof averaged sector template analysis results in determining the templateanalysis result and to update the set of averaged sector templateanalysis results.

The analysis module may be arranged to act according to a schedule toread out some of the data stored in the base model tables and conductfurther processing on the data to create a partial base analysis resultin advance of the user defining a desired analysis function, such thatthe partial base analysis result is immediately available to the user.

The analysis module may be arranged to act according to a schedule toread out some of the data stored in the template data tables and conductfurther processing on the data to create a partial template analysisresult in advance of the user defining a desired analysis function, suchthat the partial template analysis result is immediately available tothe user.

Preferably, the configuration module is arranged to enable the remoteuser to define one or more base analysis fields or other compositedefined base analysis fields to provide the desired analysis.Alternatively or in addition, the configuration module may be arrangedto enable the remote user to define one or more template analysis fieldsor other composite defined template analysis fields to provide thedesired analysis.

The tool may further comprise a graphical user interface for presentingthe base analysis result to a remote user computer. Alternatively or inaddition, the tool may comprise a graphical user interface forpresenting the template analysis result to a remote user computer.

According to another aspect of the present invention there is provided amethod of rapidly configuring a data visualisation tool for enabling auser to carry out a desired analysis function to identify trends withinstored data sets, the method comprising: providing a plurality of basemodel database tables in a very large database, each base model tablebeing configured to store predetermined data variables relating to apreviously implemented complex function and having one or morepredetermined base analysis fields associated with each table;presenting to the user a plurality of the predetermined base analysisfields for user selection to configure the desired analysis function onthe data sets; reading out the data stored in the base model tables inthe selected base analysis fields in accordance with the desiredanalysis function; and conducting further processing on the data tocreate a base analysis result comprising other composite selected baseanalysis fields in accordance with the desired analysis function.

The present invention also extends to a computer readable data carriercomprising a computer program for generating instructions for causing acomputer to perform a method of rapidly configuring a data visualisationtool for enabling a user to carry out a desired analysis function toidentify trends within stored data sets, the method comprising:providing a plurality of base model database tables in a very largedatabase, each base model table being configured to store predetermineddata variables relating to a previously implemented complex function andhaving one or more predetermined base analysis fields associated witheach table; presenting to the user a plurality of the predetermined baseanalysis fields for user selection to configure the desired analysisfunction on the data sets; reading out the data stored in the base modeltables in the selected base analysis fields in accordance with thedesired analysis function; and conducting further processing on the datato create a base analysis result comprising other composite selectedbase analysis fields in accordance with the desired analysis function.

According to another aspect of the present invention there is provided adata visualisation tool for analysing at least one set of data, toidentify trends within the set of data, or between two or more sets ofdata; the tool being hosted by a third party remotely from a user, suchthat the user may conduct an analysis and view an analysis resultremotely; the data visualisation tool comprising: a very large databasecomprising the set of data; an analysis module arranged to analyse datausing a table relating to a particular commercial area of interest; thetable comprising a pre-defined set of analysis fields, each analysisfield relating to a particular characteristic of a subject to which thedata relates and being user selectable to configure an analysis rapidly;wherein the analysis module is arranged to combine the results for twoor more user-selected individual analysis fields in order to identifytrends within the data set, or between two or more data sets.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the invention may be more readily understood, preferrednon-limiting embodiments thereof will now be described with reference tothe accompanying drawings, in which like features are assigned likereference numerals, and in which:

FIG. 1 is a schematic block diagram showing the overall architecture ofthe data visualisation tool according to the present embodiment;

FIG. 2 is a schematic block diagram showing the architecture of theanalysis module of FIG. 1;

FIG. 3 is a schematic block diagram showing the architecture of the basemodel analysis module of FIG. 2 and the base model database tables ofFIG. 1;

FIG. 4 is a schematic block diagram showing the architecture of thetemplate analysis module of FIG. 2 and the associated template datatables of FIG. 1;

FIG. 5 is a flow diagram showing a process for visualising data relatingto a particular vertical market using the data visualisation tool inFIG. 1;

FIG. 6 is a flow diagram showing a subroutine of the process of FIG. 5for the configuration stage of the process;

FIG. 7 is a flow diagram showing a sub routine of the process of FIG. 5for the base model analysis stage of the process;

FIG. 8 is a flow diagram showing a subroutine of the process of FIG. 5for the sector-specific template analysis stage of the process;

FIG. 9 is a schematic drawing showing the components of the base modelanalysis module and the template analysis module of FIG. 2 involved inthe analysis of a first example analysis, for the e-commerce sector;

FIG. 10 is a schematic drawing showing the components of the base modelanalysis module and the template analysis module of FIG. 2 involved inthe analysis of a second example analysis, for the online gamblingsector;

FIG. 11 is a Venn diagram showing an example of a data analysis resultwhich may be performed by the data visualisation tool in FIG. 1;

FIG. 12 is a screenshot of the user interface in FIG. 1, showing theresults of a data analysis performed by a user for emails which lead topurchases in the e-commerce sector;

FIG. 13 is a close-up view of a part of the user interface in FIG. 1,showing a tree-style menu of options available to a user;

FIG. 14 is a screenshot of the user interface in FIG. 1, showing theresults of a data analysis performed by a user on data which they havesupplied;

FIG. 15 is a table containing a list of examples of analysis fieldswhich are included with the base model database tables and templatemodel database tables of FIG. 1;

FIG. 16 is a table containing a list of typical marketing objectivesthat a user may use the data visualisation tool of FIG. 1 to attempt tosatisfy;

FIG. 17 is a table containing examples of pre-configured sample analysisoptions which the user can select in the user interface of FIGS. 12 to14 in order to compare two or more analysis fields in a pre-determinedway;

FIG. 18 is a table showing the structure of a template database tablewhich is to be populated with user-supplied data relating to purchasedata for the e-commerce sector; and

FIG. 19 is a table showing the structure of a template database tablewhich is to be populated with user-supplied data relating to productdata for the e-commerce sector.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

With reference to FIG. 1, an embodiment of a data visualisation tool 10according to the invention comprises a user interface (UI) 12, ananalysis module 14, a configuration module 16, and a database managementapplication 18, all of which are hosted on a web server 20. The datavisualisation tool 10 further comprises a database 22 and an emailsystem 24 which may itself be hosted on an email server (not shown). Thecomponents which are hosted on the web server 20 communicate with thedatabase 22, which in turn is supplied with data by the email system 24.The database 22 is provided with several components which facilitatearrangement of data into a format which is compatible with the analysismodule 14. These components include base model database tables 26,template data tables 28, averaged email campaign data 30 and sectoraverages 32.

The data visualisation tool 10 is arranged to be accessed remotely by auser, in that it is provided as a “Software as a Service” (SaaS) 34. Tothis end, the UI 12 is provided on a web page, which in this embodimentis known as a Customer Intelligence Tool 36. By providing the datavisualisation tool 10 as a SaaS 34, analysis results may be sent tomultiple remote user computers 38 who are connected to a communicationsnetwork, for example, the World Wide Web (WWW) 40.

The data visualisation tool 10 is arranged to provide two levels ofanalysis for a user: base model analysis, and template analysis. Forthis reason, the analysis module 14 comprises two corresponding analysiscomponents, a base model analysis module 42 and a template analysismodule 44, as shown in FIG. 2. These components are described in moredetail later with reference to FIGS. 3 and 4.

The base model analysis module 42 relates to email campaign data fromthe email system 24, and is generally, although not always, used as thefirst step in any analysis which is conducted by the data visualisationtool 10. In this embodiment, the email campaign data is supplied to theuser as part of the data visualisation tool 10, although in otherembodiments the user may supplement this data with data from their owncampaigns, which may, for example, include data relating to emailmarketing, SMS messaging marketing, or standard mail marketing. The basemodel analysis module 42 may alternatively relate to data obtained fromSMS message campaigns, or a combination of both email and SMS messagerelated data, all of which is provided by the email system 24. The datawhich is contained in the email system 24 is updated daily, so as toreflect the latest information. Averaged email campaign data 30 resultsfrom previous base model analyses are used to enrich the currentanalysis by providing an indication of certain performance metrics forthe user. The base model analysis module 42 is provided with a pluralityof base analysis fields 43 which are used to analyse the data containedin the database 22.

An analysis field is a low-level characteristic (or metric) of thesubject being analysed, which may be represented by a simple statistic,or a more complex metric based on a plurality of such lower-levelcharacteristics or combinations of such lower-level characteristics. Forexample, if the subject is a member of an email campaign, this mighthave associated analysis fields including the average spend for thatmember, or the days since that member's last purchase. A more detailedlist of example analysis fields is described later with reference toFIGS. 12 and 15. Different analysis fields may be combined in order toprovide additional insight; using the examples given above, an examplecombination might be to identify members who have made a purchase in thelast month, and who spend at least £100 per visit. This analysis wouldidentify members who are active and who spend more than average, and aretherefore good candidates for a new marketing campaign for higher valueproducts. Clearly, if more analysis fields are provided, the user isable to combine the fields in many more different ways in order totailor their analysis to find out exactly what they need to. In thisway, the analysis fields cooperate to create a powerful analysis toolwhich will satisfy most of the requirements that a marketer has.

The base analysis fields 43 are pre-configured for the user, and areoptimised to provide the user access to the types of analysis which theyare most likely to require. The user has the option to add additionalbase analysis fields 43 to the base model analysis module 42 in order tofurther tailor the data visualisation tool 10 more closely to theirrequirements.

For some users, the base model analysis satisfies all of their needs;however, many users need to combine this analysis with other types ofdata which relate specifically to their industry vertical. For theseusers, the second level of analysis is provided on top of the base modelanalysis: the template analysis, which is conducted using the templateanalysis module 44. For this, the user is required to provide therelevant data for the additional analysis. The user is supplied withinstructions which specify the format which the data needs to beprovided in, such that it can be used to populate the template datatables 28. Analysis results from the base model analysis module 42 canthen be sent to the template analysis module 44 to be combined with theuser supplied data to provide analysis results which are tailored to theuser's requirements. As with the base model analysis, averaged templatedata results from previous template analysis are used to enrich thecurrent analysis, by providing an indication of additional performancemetrics. The template module is also provided with a plurality oftemplate analysis fields 45, which operate in a similar manner to thebase analysis fields 43 included with the base model analysis module 42.Again, the template analysis fields 45 included with the templateanalysis module 44 are preconfigured for the user, and are optimised toprovide useful analytic capabilities for the particular segment to whichthe template relates “out of the box”. As with the base model analysismodule 42, the user is able to add additional analysis fields 45 to thetemplate analysis module 44. A template data table 28 of a predeterminedstructure (format) is provided for each industry vertical (sector). Thismeans that the user inputs data into the system in a constrained mannerusing the selected template data table 28 which enables the system tooffer predetermined template analysis fields 45 which are useful forthat sector.

The configuration module 16 is used to set up the data visualisationtool 10 for the specific type of analysis that the user wishes toconduct. This process includes establishing the correct template datatables 28 to be used, and organising the UI 12 appropriately to give theuser the correct options for analysis. In this embodiment, theconfiguration process is completed prior to the user conducting anyanalysis; however in an alternative embodiment the user can re-configurethe data visualisation tool 10 periodically according to their needs.

The configuration process is both short, and simple enough to be carriedout by a user. This accords this embodiment a clear benefit with regardto the known analytic systems discussed earlier.

In use, when an analysis is initiated by a user, the user first uses theUI 12 to select the analysis fields 43, 45 which are required for theanalysis. Then, if the analysis includes base analysis fields 43, emailrelated data is pulled out of the email system 24 and used to populatethe base model database tables 26. In another embodiment, email relateddata is pulled out of the email system 24 according to a schedule, forexample on a daily basis, and used to populate the base model databasetables 26. In this alternative embodiment, the base model databasetables 26 are already populated when the user comes to perform ananalysis, which reduces the time taken to perform the analysis.Furthermore, both the base model analysis module 42 and the templateanalysis module 44 may be arranged to perform some analytical tasksaccording to a similar schedule, in order to make some analysis resultsimmediately available to the user.

Returning to the present embodiment, once the base model database tableshave been populated, the email related data is then extracted from thedatabase 22 by the database management application 18, and passed on tothe analysis module 14. The analysis module 14 then analyses the datausing the base analysis fields 43 that have been selected by the user.In addition to this, if a user has supplied data which is specific totheir industry, for example purchasing data for an e-commerce analysisvia the template data tables 28, this is also extracted and passed on tothe analysis module 14 in the same way as the base model data, and isanalysed against the relevant template analysis fields 45.

It is noted that the user may initiate an analysis containing eitherbase analysis fields 43, template analysis fields 45, or a combinationof the two. The analysis module 14 performs an analysis which isappropriate to the selected analysis fields 43, 45; for example, if onlytemplate analysis fields 45 are selected, the analysis module 14 willnot involve the base analysis module 42 in the analysis. Furthermore, insome instances, the analysis fields 43, 45 selected by the user mayrequire that template analysis is conducted prior to base modelanalysis.

Once the analysis is complete, the results are returned to the database22 via the database management application 18 to update both theaveraged email campaign data 30, and, if appropriate, the sectoraverages 32. The results are then passed on to the UI 12, which isarranged to receive the analysis results and to process them into auseful format for presenting to a user computer 38. The process that thedata visualisation tool 10 undertakes when performing an analysis isdescribed in further detail later, with reference to FIGS. 5 to 8. Oncethe results have been presented to the user computer 38, they can usethe information to gain new insight into their market industry vertical.In addition to this, they can export the data to an external program,such as Microsoft Excel®, for further processing. A further option forthe user is to use the analysis result to derive a target list ofcustomers for a new email campaign.

Referring now to FIG. 3, the base model analysis module 42 comprises abase model processor 46 and a standard analysis module 48. Thesecomponents interact with the database 22 and the email system 24 toperform a base model analysis. The base model processor 46 is used topull data from the email system 24 to populate much of the base modeldatabase tables 26 such that the data is in the correct form foranalysis, and then to read the data from the base model database tables26 to be analysed by the standard analysis module 48.

Sorting the data into the base model database tables 26 in itselfprovides a level of analysis, in that this process identifies the rawdata which is relevant to a user. This is then built on by the standardanalysis module 48, which enriches the data using basic statisticalfunctions to fill in the base analysis fields to produce a base modelanalysis result 50 For example, if the base model processor 46 hasextracted raw data relating to the dates on which each email was openedby the customer to whom it was sent, there may be a base analysis field43 to indicate the most popular day of the week on which emails areopened. The standard analysis module 48 can readily calculate a resultfor this base analysis field 43 from the raw data which has been madeavailable by the base model processor 46, by analysing the set of datesprovided. The standard analysis module 48 also uses the averaged emailcampaign data 30 from previous analyses to further enrich the presentanalysis. Once the data has been analysed, the base model analysisresult 50 is then fed back to the database 22 to be added to the storeof averaged email campaign data 30. Finally, the base model analysisresult 50 is either sent on to the UI 12, for presenting to the usercomputer 38, or, if template analysis is required, the base modelanalysis result 50 is sent as semi-processed data to the templateanalysis module 44.

In this embodiment, the base model database tables 26 include fivedifferent tables, which are labelled as “campaign” 52, “member” 54,“campaignmember” 56, “response” 58, and “bounce” 60. The tables arepopulated as follows:

The “campaign” 52 table is populated with information about the emailand mobile campaigns sent by the user, for instance the date on whichthe emails or SMS messages were sent, and the number of emails/SMSmessages included in the campaign.

The “member” table 54 is populated with information relating to theuser's customers, i.e. specifically which email addresses or mobiletelephone numbers the emails and/or SMS messages were sent to.

The “campaignmember” table 56 is used to contain data concerning theactual emails and/or SMS messages which were sent to customers as partof a campaign, i.e. the actual text of an email, and any links oradvertisements that were included.

The “response” table 58 is populated with data concerning eachcustomer's response to a specific email (and/or SMS message), forexample whether they read the email, or whether they clicked on a linkcontained in the email.

The “bounce” table 60 is used to record emails and/or SMS messages whichwere sent out as part of a campaign, but were not successfullydelivered.

Due to the way in which these base model database tables 52, 54, 56, 58,60 are configured, some basic information relating to the email campaignis revealed through the sorting process. For example, a list ofcustomers who received and read a particular email which was sent outcan be easily generated. In addition to this, each table has severalassociated base analysis fields 43. For example, the “member” table 54could contain data which corresponds to base analysis fields 43 such as“date of birth”, “sex” and “location”. These analysis fields 43 can beused to target particular groups of customers in the analysis, forexample.

From this point, the standard analysis module 48 performs a basicanalysis to provide some more detailed information for the user whichbegins to identify trends in the data. As outlined above, the user couldselect to look at which day of the week customers were most responsiveto emails from a particular campaign by selecting the relevant baseanalysis fields 43 in the UI 12. Once the basic analysis is completed,this can be compared with the average results for other email campaigns,to see how the current campaign compares with past campaigns. Theanalysis process is carried out such that the resulting averaged resultsof several analyses provide an indication for several performancemetrics which may be of interest to the user.

Referring now to FIG. 4, the template analysis module 44 takes a similarform to the base model analysis module 42, in that it comprises atemplate processor 62 and a sector analysis module 64, which interactwith other components of the system to perform the template analysis.The template processor 62 receives a base model analysis result 50 fromthe base model analysis module 42, which is to be used in the templateanalysis. The template data tables 28 are pre-populated with sector data66, which is the data that is supplied by the user. The templateprocessor 62 reads in the sector data 66 from the template data tables28. The nature of the template data tables 28 will be particular to thespecific type of template which is being provided, and so the templatedata tables 28 are not described in detail at this stage. In general,the template data tables 28 take a similar form to the base modeldatabase tables 26, and are arranged such that the template processor 62only needs to read data in from the correct table 28 in order to obtainthe required information; no additional analysis is applied directly tothe sector data 66. Additionally, each template data table 28 hasseveral associated template analysis fields 45, similar to the basemodel database tables 26.

Once the base model analysis result 50 and the relevant sector data 66have been obtained by the template processor 62, this data is allforwarded to the sector analysis module 64, which is arranged to performanalysis to reveal trends between the two types of data. These trendsmay relate to performance metrics which will be of interest to the user.The sector analysis module 64 outputs a template analysis result 68. Asan example, if the template relates to e-commerce, a typical templateanalysis result 68 which the sector analysis module 64 may return is toshow the number of customers who received an email from a campaign,clicked through a link contained in the email, and then purchased theitem to which the email campaign related. This result could be comparedwith the number of customers who, having received the email, did not goon to make a purchase, to provide an indication of how effective theemail campaign had been. Each of these types of results relate tospecific analysis fields 43, 45 provided in the base model analysismodule 42 and the template analysis module 44, which have been selectedby the user, and analysis fields contained within the base modeldatabase tables 26 and template data tables 28. Thus useful analysisacross both email campaigns and e-commerce data sets is obtained.

To take this example further, the user could then select furtherspecific analysis fields 43, 45, which relate to a different sector andthus be based on a different template data table 28, to improve theirunderstanding of how the email campaign has been effective. This couldinclude looking at what proportion of the customers who purchased aproduct are male, or fall into a certain age bracket. This informationmay help the user to improve the next email campaign such that it willbe effective in influencing customers who were not motivated to make apurchase by the previous campaign.

Other examples of the types of industry vertical for which a templatemay be provided include: on-line gambling; interactions, for users whosecustomers interact with them via forums or competitions for example;publishing, for users that run subscription-based new media (contentwhich is available on demand, often digitally) operations; travel; andorganisation sales, relating to “business-to-business” (B2B) sales. Thetypes of template data tables 28 which may be used by the templateanalysis module 44 will be tailored for each of these types of template.Additionally, there may be many different types of table 28 used in eachtemplate; there is no technical limitation on how many different typesof table 28 may be used, although often there is a practical limitationof two or three different tables 28, as it may be impractical and timeconsuming for a customer to fit their data to more tables 28 than this.Furthermore, the template data tables 28 which are provided to the userinitially should be treated as a starting point. The user can define newtemplate data tables 28 and new analysis fields 45 to further tailor theanalysis to their requirements.

As with the base model analysis module 42, the template analysis module44 is arranged to maintain a set of averaged data for all templateanalysis results 68. The averaged data provides an indication forseveral different performance metrics that are of interest to the user.These averages are stored as the sector averages 32, and can be used toindicate to the user how typical the results of a current analysis are.When a new template analysis result 68 is generated by the templateanalysis module 44, it is added to the sector averages 32. The templateanalysis result 68 is then forwarded to the UI 12, to be formatted andsent to the user computer 38 for presentation to the user.

FIGS. 5 to 8 show the process that the data visualisation tool 10undergoes when the user initiates a new analysis.

In FIG. 5, an overview of the analysis process 69 is illustrated. First,the user configures at Step 70 the data visualisation tool 10 for thetype of analysis which is required. This process is described in furtherdetail with reference to FIG. 6. The user then instructs at Step 72 thetool whether analysis is required at that point. If analysis is notrequired, the process ends at Step 82. If analysis is required, theanalysis process 69 is initiated in the analysis module 14, and the basemodel analysis module 42 performs at Step 74 base model analysis on thedata. The analysis process 69 continues with the analysis module 14 thenchecking at Step 76 whether template analysis is required on top of thebase model analysis 74. If not, the results 50 from the base modelanalysis module 42 are returned at Step 80 to the UI 12 to be formattedand presented to the user via the user computer 38. The process thenends at Step 82. If template analysis is required, this is provided atStep 78. The results 68 from the template analysis are returned at Step80 to the UI 12 to be formatted and presented to the user, after whichthe process ends at Step 82.

With reference now to FIG. 6, a sub-process for configuring the datavisualisation tool 10 in Step 70 using the configuration module 16 isshown. This is an example of an arrangement in which the user configuresthe tool themselves; in other arrangements, the data visualisation tool10 is provided to the user in a pre-configured state. When configuringthe tool, the user is asked at Step 90 to select the analysis type whichis appropriate to their needs. The user then selects at Step 92 therelevant analysis type. At this stage, the configuration module 16determines at Step 94 whether sector (template) analysis is required. Ifthe user selected at Step 92 base model analysis only, sector analysisis not required, so the configuration process 70 ends at Step 104. Ifany other type of analysis is required, the user is instructed at Step96 to supply the relevant sector data 66 which will be used in theanalysis. The data is supplied in a pre-determined form, to fit to theform of the template data tables 28. The user then sends at Step 98 theraw sector data 66, and the configuration module 16 then stores at Step100 the data in the template data tables 28 in the database 22. Theconfiguration module then checks at Step 102 whether the user requiresadditional templates. If a further template is required, the processreturns to Step 96 and repeats the process for adding sector data.Otherwise, the configuration process 70 then ends at Step 104.

FIG. 7 illustrates the sub-process for the base model analysis which isperformed at Step 74 of FIG. 5 in more detail. First, raw data is readout from the email system 24, sorted and stored at Step 110 in the basemodel database tables 26 by the base model processor 46. Then, the datais extracted at Step 112 from the base model database tables 26 by thebase model processor 46. The data is then passed on to the standardanalysis module 48 which enriches at Step 114 the data by performingbasic statistical analysis to identify trends relating to certainperformance metrics for the user. The standard analysis module 48outputs at Step 116 a base model analysis result 50 in a predeterminedset of metrics, and uses that result 50 to update a set of averages. Thebase model analysis result 50 is then returned at Step 118 to theanalysis module 14, which completes the sub-process and moves on to Step76 of the analysis process 69 shown in FIG. 5.

In FIG. 8, a sub-process for the enhanced sector specific (template)analysis which is performed at Step 78 of FIG. 5 is shown. The process78 begins when the template analysis module 44 receives at Step 120 thebase model analysis result 50 which was obtained in Step 76. Next, thetemplate processor 62 reads at Step 122 the sector data 66 out from thetemplate data tables 28. The template analysis module 44 then enrichesat Step 124 the sector data 66 using the sector analysis module 64 tocompare the current sector data 66 with the sector averages 32. Oncethis is complete, the sector analysis module 64 then combines at Step126 the enriched sector data 66 with the base model analysis result 50to produce the template analysis result 68. The template analysis result68 is then returned at Step 128 to the analysis module 14, whichcompletes the sub-process and moves on to Step 80 of the analysisprocess 69 shown in FIG. 5.

In order to further aid understanding of the invention for the skilledperson, two worked examples of an analysis are now described withreference to FIGS. 9 and 10.

FIG. 9 illustrates the interactions between the different data tables26, 28 involved in an analysis for the e-commerce sector. As shown, theanalysis starts with the base model analysis module 42, and then moveson to the template analysis module 44 in the manner described previouslywith reference to the earlier figures. FIG. 9 provides additionalinsight into the process in that it illustrates the interactions betweenthe different data types within each analysis module, and the order inwhich data is used. The direction of the arrows in the figure indicatesthe relationship between different data types; the arrows point towardsa parent data type. For example, a member may have emails or SMSmessages from multiple campaigns sent to them, therefore the arrowbetween the “campaignmember” table 56 and the “member” table 54 pointstowards the “member” table 54.

In FIG. 9 then, the “member” table 54 is the top-level table in the basemodel, as all arrows point towards it either directly or indirectly.This indicates that the “member” table 54 contains the most fundamentaldata concerning the marketing campaigns to which the data relates;namely, the customers who were targeted by the campaign. From thereadditional data, such as the specifics of the messages that were sent,or the way in which customers responded, are added on top.

Once these steps have been completed, the analysis moves on to thetemplate analysis module 44, which in this example contains two types oftemplate data table 28 which are specific to the requirements of a userworking in the e-commerce sector: “purchase” 130, and “product” 132. The“product” template data table 132 is populated with details of productswhich the user wishes to monitor. This data, when combined with the basemodel analysis result 50, can be used to create a performance metricrelating to purchases of those products as a direct result of an emailor SMS message campaign, as indicated by the arrows in the figure.

Further detail can be extracted from the data by looking more closely ateach template category. For example, a more detailed purchasing analysismay include statistics relating to the frequency of purchases, howrecently the purchases have been made, and the value of those purchases.For the product analysis, statistics relating to a breakdown of productsby brand or category can be generated, to see which types of product aremost successfully sold through an email campaign. Additionally, apricing and profit analysis can be conducted to reveal the profit orrevenue which has been generated by a campaign. All of these differenttypes of analysis can then be presented to the user through the UI 12using a familiar format such as a Venn diagram, a cross tabulation or amap.

In this way, the data visualisation tool 10 offers the user a level ofanalysis which is comparable with other analytic systems which are knownin the art, but without the associated burden and cost of configuring abespoke system.

In FIG. 10, another example of an analysis is shown, this time relatingto online gambling. The stages for the base model analysis module 42 areidentical to those in FIG. 9, and so shall not be described again here.Indeed, the base model analysis will always be the same no matter whattype of analysis a user wishes to conduct.

As shown in the figure, the online gambling template contains fivedifferent template data tables 28: “account” 134, which relates to thecustomer accounts which the user wishes to analyse; “wallettransactions” 136, which relates to occasions when a customer has spentmoney through their account; “game” 138, which relates to occasions whena customer played an online game; “bet” 140, which relates to instanceswhen a customer placed an online bet; and “betleg” 144, which relates tobets which depend on multiple outcomes, for example accumulator bets.

As with the example in FIG. 9, the data which is read out from thesetemplate data tables 28 is built up in a logical sequence. Therefore,details of the accounts of all customers are read from the tables first,which can then be referenced against, for example, instances when anaccount was used to play a game. This information can then be used toassess whether an email campaign had successfully influenced customersto play an online game. Using this template, statistics can be generatedwhich provide an indication of many different performance metrics, forexample, customers who play regularly, customers who only play one typeof game, customers who have recently set up an account, or customers whospend a larger than average amount of money through their account. Thislist is by no means exhaustive; clearly there are many different ways inwhich the data can be used.

In FIG. 11, the result 68 of a typical analysis relating to a travelsector template is shown. The figure shows a Venn diagram 150 which isrepresentative of what the user would see displayed on their usercomputer 38 when conducting the analysis through the UI 12. In thisexample, three different categories of customer, relating to threeanalysis fields, have been analysed to see how many customers fall intotwo or more categories. The analysis fields are defined as follows:

“Members interested in travel” simply relates to customers who haveexpressed an interest in travel;“Members with travel category interactions” refers to customers who havediscussed travel through some form of social media; and“Members with travel category newsletters” relates to customers whoreceive travel newsletters.

The segment 152 in the middle of the Venn diagram 150 indicates thatthere are 53 customers who fall into all three of those categories.These customers are therefore likely to be highly interested in travel,and are therefore prime targets for campaigns relating to travel offers,for example.

FIGS. 12 to 14 are screenshots of the UI 12, which are provided toillustrate how the user interacts with the data visualisation tool 10 inorder to generate an analysis result 50, 68. In this arrangement, the UI12 is provided in a Customer Intelligence Tool 36 (a website). The UI 12provides a “drag-and-drop” style interface, enabling a user to use thesystem with little or no training required.

In FIG. 12 a Venn diagram 160 is shown which is the result 68 of ananalysis for the e-commerce sector. The analysis compares a base modelanalysis result 50, 162 (emails opened in the last month) withpurchasing data 164 related to the email campaign. The area of overlap166 indicates the number of customers who, having opened an email sentto them as part of a campaign, went on to purchase the product which wasadvertised in the email.

The way in which this Venn diagram 160 is obtained by the user is byselecting two different analysis fields from a tree 168 which is shownon the left of the screen 170. FIG. 12 shows the analysis field of“Months to Purchase Date” 164 highlighted; the user has previouslyselected a “Months to Read Date” analysis field 172. Each of theseanalysis fields contains multiple values, for example the “Months toPurchase Date” is provided with values such as “last month”, “2 monthsago”, “3 months ago”, etc. Similarly the “Months to Read Date” field isprovided with the same values. The user has selected the requiredvalues, in this example “last month” for both analysis fields, and thedata visualisation tool 10 has combined the two to provide the analysisresult 68 shown.

As an alternative to requiring the user to manually select the analysisfields that they wish to analyse, the data visualisation tool 10 can beprovided with preconfigured options for analysis, containing two or moreanalysis fields to be compared in a pre-determined manner, asillustrated in FIG. 13. The tree 180 shown in the figure has twopre-populated Venn diagrams in it (Purchased in the last 3 years 182 andResponse Behaviour 184). The user only needs to click on the requiredoption, and the analysis result 68 is presented to them.

In FIG. 14, an example of a simple analysis which uses only the basemodel analysis module 42 is provided. The example illustrates theimplementation of analysis fields in an analysis, in this case, customerage. In the screenshot 190, the user has selected to view a pie chartrepresentation 192 of the age-bands 194 into which members of allcampaigns contained in the database fall. One of the pieces ofinformation that is provided by the email system 24 for the base modelanalysis module 42 is the date of birth of each customer or memberincluded in an email campaign. Using this information, it is a trivialmatter for the system to calculate the current ages of those members andpresent this information to the user in the manner illustrated.

FIGS. 15 to 19 are tables which contain specific examples of the dataand analysis fields which are used by the data visualisation tool 10.

FIG. 15 shows a table 194 containing a more extensive, although by nomeans exhaustive, list of examples of the analysis fields which areincluded with the analysis module 14. In the top portion of the table196, example analysis fields relating to “member” 54 are listed, whichform part of the base model analysis module 42. Below that in the lowerportion of the table 198, there are examples of analysis fields for the“purchase” and “product” tables 130, 132, which form part of thetemplate analysis module 44. It should be noted that the “purchase” 130section of the table includes some user-definable analysis fields,although the user may define analysis fields for any part of theanalysis module 14.

FIG. 16 is a table 200 which contains an example of a list of objectiveswhich a marketer may attempt to achieve through the use of the datavisualisation tool 10. These objectives may specify target values ofanalysis fields to be obtained in order to achieve the objectives.

FIG. 17 is a table 202 showing some further examples of pre-definedsample analysis 204 containing a number of commonly-used analysis fieldswhich may be provided to the user in the UI 12. The table 202 providesdetails of some items which are delivered as a part of the base modelanalysis module 42. The “location” column indicates where the items arelocated in the tree 180 of FIG. 13. The “name” column indicates the nameof the item. The “type” column indicates the class of analysis which isapplied by the item, i.e. how the item is implemented. The “syntax”column, which is not populated in the diagram, indicates the syntax usedto create the item.

FIGS. 18 and 19 provide two further tables 206, 208 which illustrate anexample of a structure in which a user may supply data relating to theirsector, to be used in the template analysis module 44. FIG. 18 relatesto purchasing data for the e-commerce sector, and FIG. 19 relates toproduct data, also for the e-commerce sector.

It will be appreciated by a person skilled in the art that the inventioncould be modified to take many alternative forms to that describedherein, without departing from the spirit and scope of the invention asset out in the appended claims. For example, the large database could bemade up of a plurality of databases which work together, which may evenbe remote from each other.

1. A rapidly configurable data visualisation tool for enabling a user tocarry out a desired analysis function to identify trends within storeddata sets, the tool comprising: a very large database having a pluralityof base model database tables, each base model table being configured tostore predetermined data variables relating to a previously implementedcomplex function and having one or more predetermined base analysisfields associated with each table; a configuration module arranged topresent to the user a plurality of the predetermined base analysisfields for user selection to configure the desired analysis function onthe data sets; and an analysis module for reading out the data stored inthe base model tables in the selected base analysis fields in accordancewith the desired analysis function and conducting further processing onthe data to create a base analysis result comprising other compositeselected base analysis fields in accordance with the desired analysisfunction.
 2. The tool according to claim 1, wherein the other compositeanalysis fields are predetermined and stored in the analysis module. 3.The tool according to claim 1, wherein the previously implementedcomplex function comprises a messaging marketing campaign.
 4. The toolaccording to claim 3, further comprising an email system for providingthe messaging marketing campaign data variables.
 5. The tool accordingto claim 3, wherein the base model tables comprise a Campaign tablestoring parameters relating to the email marketing campaign.
 6. The toolaccording to claim 3, wherein the base model tables comprise a Membertable storing parameters relating to the members or customers targetedin the email marketing campaign.
 7. The tool according to claim 3,wherein the base model tables comprise a CampaignMember table storingparameters relating to the messages sent to a member or customer in theemail marketing campaign.
 8. The tool according to claim 3, wherein thebase model tables comprise a Response table storing parameters relatingto the customer responses to the received email.
 9. The tool accordingto claim 3, wherein the base model tables comprise a Bounce tablestoring parameters relating non-delivery of emails during the emailmarketing campaign.
 10. The tool according to claim 1, wherein the datavisualisation tool is hosted by a central server and is accessible to aplurality of remote user computers via a wide area communicationsnetwork.
 11. The tool according to claim 1, wherein the databasecomprises a set of averaged base model analysis results and the analysismodule is arranged to update the set of averaged base model results andto use the averaged base model results in carrying out the desired dataanalysis function.
 12. The tool according to claim 1, wherein theanalysis module is arranged to carry out statistical analysis using theanalysis field data to provide the base analysis result.
 13. The toolaccording to claim 1, further comprising a plurality of predeterminedtemplate data tables stored within the database, each template datatable being associated with a specific sector of operation and havingone or more predetermined template analysis fields.
 14. The toolaccording to claim 13, wherein the configuration module is arranged toenable a remote user to select one of the plurality of predeterminedtemplate data tables relating to the desired analysis specific to aselected sector, to upload sector specific data from the remote user ina format determined by the selected template data table and to populatethe corresponding template data table with the uploaded sector data. 15.The tool according to claim 14, wherein the configuration module isarranged to enable the remote user to select one or more of the templateanalysis fields of the selected template data table to provide thedesired analysis.
 16. The tool according to claim 13, wherein theanalysis module comprises a template analysis module for reading out thedata stored in the selected template analysis fields of the templatedata tables in accordance with the desired analysis function andconducting further processing on the data to create a template analysisresult comprising other composite selected template analysis fields inaccordance with the desired analysis function.
 17. The tool according toclaim 16, wherein the template analysis module is arranged to receivethe base analysis result from the analysis module and use this to createthe template analysis result.
 18. The tool according to claim 17,wherein the template analysis module is arranged to create the templateanalysis result by carrying out statistical analysis on the templateanalysis fields and the base analysis result.
 19. The tool according toclaim 18, wherein the template analysis module is arranged to carry outanalysis to identify trends between the sector data and the previouslyimplemented complex function data.
 20. The tool according to claim 16,wherein the database comprises a set of averaged sector templateanalysis results and the template analysis module is arranged to use theset of averaged sector template analysis results in determining thetemplate analysis result and to update the set of averaged sectortemplate analysis results.
 21. The tool according to claim 1, whereinthe analysis module is arranged to act according to a schedule to readout some of the data stored in the base model tables and conduct furtherprocessing on the data to create a partial base analysis result inadvance of the user defining a desired analysis function, such that thepartial base analysis result is immediately available to the user. 22.The tool according to claim 13, wherein the analysis module is arrangedto act according to a schedule to read out some of the data stored inthe template data tables and conduct further processing on the data tocreate a partial template analysis result in advance of the userdefining a desired analysis function, such that the partial templateanalysis result is immediately available to the user.
 23. The toolaccording to claim 1, wherein the configuration module is arranged toenable the remote user to define one or more base analysis fields orother composite defined base analysis fields to provide the desiredanalysis.
 24. The tool according to claim 15, wherein the configurationmodule is arranged to enable the remote user to define one or moretemplate analysis fields or other composite defined template analysisfields to provide the desired analysis.
 25. The tool according to claim1, further comprising a graphical user interface for presenting the baseanalysis result to a remote user computer.
 26. The tool according toclaim 16, further comprising a graphical user interface for presentingthe template analysis result to a remote user computer.
 27. A method ofrapidly configuring a data visualisation tool for enabling a user tocarry out a desired analysis function to identify trends within storeddata sets, the method comprising: providing a plurality of base modeldatabase tables in a very large database, each base model table beingconfigured to store predetermined data variables relating to apreviously implemented complex function and having one or morepredetermined base analysis fields associated with each table;presenting to the user a plurality of the predetermined base analysisfields for user selection to configure the desired analysis function onthe data sets; reading out the data stored in the base model tables inthe selected base analysis fields in accordance with the desiredanalysis function; and conducting further processing on the data tocreate a base analysis result comprising other composite selected baseanalysis fields in accordance with the desired analysis function.
 28. Acomputer readable data carrier comprising a computer program forgenerating instructions for causing a computer to perform a method ofrapidly configuring a data visualisation tool for enabling a user tocarry out a desired analysis function to identify trends within storeddata sets, the method comprising: providing a plurality of base modeldatabase tables in a very large database, each base model table beingconfigured to store predetermined data variables relating to apreviously implemented complex function and having one or morepredetermined base analysis fields associated with each table;presenting to the user a plurality of the predetermined base analysisfields for user selection to configure the desired analysis function onthe data sets; reading out the data stored in the base model tables inthe selected base analysis fields in accordance with the desiredanalysis function; and conducting further processing on the data tocreate a base analysis result comprising other composite selected baseanalysis fields in accordance with the desired analysis function.
 29. Adata visualisation tool for analysing at least one set of data, toidentify trends within the set of data, or between two or more sets ofdata; the tool being hosted by a third party remotely from a user, suchthat the user may conduct an analysis and view an analysis resultremotely; the data visualisation tool comprising: a very large databasecomprising the set of data; an analysis module arranged to analyse datausing a table relating to a particular commercial area of interest; thetable comprising a pre-defined set of analysis fields, each analysisfield relating to a particular characteristic of a subject to which thedata relates and being user selectable to configure an analysis rapidly;wherein the analysis module is arranged to combine the results for twoor more user-selected individual analysis fields in order to identifytrends within the data set, or between two or more data sets.